package com.fas.system.service;

import com.alibaba.fastjson.JSONArray;
import com.fas.common.core.domain.AjaxResult;
import com.fas.system.domain.FasBuilding;
import com.fas.system.domain.FasBuildingImage;
import com.fas.system.domain.vo.SysDeptVo;

import java.util.List;

/**
 * 建筑公司Service接口
 * 
 * @author ruoyi
 * @date 2022-04-27
 */
public interface IFasBuildingService 
{
    /**
     * 查询建筑公司
     * 
     * @param id 建筑公司主键
     * @return 建筑公司
     */
    public FasBuilding selectFasBuildingById(Long id);

    /**
     * 查询建筑公司列表
     * 
     * @param fasBuilding 建筑公司
     * @return 建筑公司集合
     */
    public List<FasBuilding> selectFasBuildingList(FasBuilding fasBuilding);

    /**
     * 新增建筑公司
     * 
     * @param fasBuilding 建筑公司
     * @return 结果
     */
    public AjaxResult insertFasBuilding(FasBuilding fasBuilding);

    /**
     * 修改建筑公司
     * 
     * @param fasBuilding 建筑公司
     * @return 结果
     */
    public int updateFasBuilding(FasBuilding fasBuilding);

    /**
     * 批量删除建筑公司
     * 
     * @param ids 需要删除的建筑公司主键集合
     * @return 结果
     */
    AjaxResult deleteFasBuildingByIds(Long[] ids);

    /**
     * 删除建筑公司信息
     * 
     * @param id 建筑公司主键
     * @return 结果
     */
    public int deleteFasBuildingById(Long id);


    /**
     * 新增、修改设备时选择省市区不为空的数据
     */
    JSONArray findBuildingList(Long deptId,Integer buildingId,Integer facilitiesDistribution,Integer cooperationCompanyId,String buildingName);

    List<Integer> getBuildingFloor(Integer ids);

    /**
     * 查询建筑下的建筑图纸
     * @param buildingId
     * @return
     */
    List<FasBuildingImage> findImageByBuildingId(Integer buildingId);

    /**
     * 更新建筑图纸
     * @param fasBuildingImage
     * @return
     */
    int updateFasBuildingImage(FasBuildingImage fasBuildingImage);


    List<SysDeptVo> getDeptBuild(Integer cooperationCompanyId, Integer deptId);

    AjaxResult importFasBuilding(List<FasBuilding> buildingList);
}
